<?php
class Cliente extends AppModel
{
	var $name='Cliente';
	var $belongsTo=array('Direccione','User'=>array('foreignKey'=>'user_id'));
	var $primaryKey='user_id';
	//var $actsAs = array ('Searchable');
	
	var $validate=array
	(
		'empresa'=>array(
			'novacio'=>array(
					'rule'=>VALID_NOT_EMPTY,'message'=>'Campo obligatorio'),
			'noempresa'=>array(
					'rule'=>array('validaEmpresa','empresa'),'message'=>'Debe indicar una compa�ia')),
		//'piso'=>array(VALID_NOT_EMPTY,array('rule'=>'numeric','message'=>'Solo un n�mero, Intente de nuevo')),
		'piso'=>array('rule'=>VALID_NOT_EMPTY,'message'=>'Campo obligatorio'),
		//'oficina'=>array(VALID_NOT_EMPTY,array('rule'=>'alphaNumeric','message'=>'Letras o n�meros, Intente de nuevo')),
		'oficina'=>array('rule'=>VALID_NOT_EMPTY,'message'=>'Campo obligatorio'),
		//'sexo'=>array(VALID_NOT_EMPTY,array('rule'=>array('validasexo','sexo'),'message'=>'Debe indicar Masculino o Femenino')),
		'mail'=>array(
			'regla1'=>array(
					'rule'=>VALID_NOT_EMPTY,'message'=>'Campo obligatorio'),
			'regla2'=>array(
					'rule'=>VALID_EMAIL,'message'=>'Debe ingresar on correo v�lido')/*,
			'regla3'=>array(
					'rule'=>'isUnique','on' => 'create','message'=>'Este correo ya se encuentra registrado, verifique')*/),		
		'telefono'=>array(
			'numerovalido'=>array(
							'rule'=>VALID_NUMBER,'message'=>'Debe ser solo n�meros'),
			'minlongitud'=>array(			
							'rule'=>array('minLength',7),'message'=>'Telf. inv�lido, al menos siete d�gitos'),
			'maxlongitud'=>array(
							'rule'=>array('maxLength',11),'message'=>'Telf. inv�lido, no mas de once d�gitos')),
		'celular'=>array(
			'celvalido'=>array(
							'rule'=>VALID_NUMBER,'message'=>'Debe ser solo n�meros'),
			'minlong'=>array(			
							'rule'=>array('minLength',10),'message'=>'Telf. inv�lido, menos de diez d�gitos'),
			'maxlong'=>array(
							'rule'=>array('maxLength',11),'message'=>'Telf. inv�lido, no mas de once d�gitos'))
	);
	
	function validasexo($data)
	{
		$valid=false;
		if($data['sexo']=="Masculino" || $data['sexo']=="Femenino")
		{
			$valid=true;
		}
		return $valid;
	}
	
	function validaEmpresa($data)
	{
		$valid=false;
		if($data['empresa']!="Compa�ia")
		{
			$valid=true;
		}
		return $valid;
	}
	 
	function indexData() 
	{
        $index = $this->data['User']['username'];
        return $index;
    }
	
	function reindexAll()
	{
		if(!$this->SearchIndex)
		{
			$this->SearchIndex=ClassRegistry::init('SearchIndex');
		}
		
		ini_set('max_execution_time',360);
		App::import('Model','Cliente');
		$data=$newmodel->findAll();
		foreach($data as $i=>$row)
		{
			$newmodel->data=$row;
			$index = $newmodel->indexData();
			if($index)
			{
				$searchEntry=$this->SearchIndex->find('first',array(
								'fields'=>array(
										'user_id'),
								'conditions'=>array(
										'model'=>$this->name,
										'association_key'=>$row[$this->name]['user_id'])));
				$index_data=array(
					'SearchIndex'=>array(
					'model'=>$this->name,
					'id'=>empty($searchEntry)? 0:
					$searchEntry['SearchIndex']['user_id'],'association_key'=>$row[$this->name]['user_id'],
					'data'=>$index));
					$res=$this->SearchIndex->save($index_data);
			}
		}
	}

        function beforeSave() {
            $data = &$this->data[$this->alias];
            if (!empty($data['empresa']) &&
                !empty($data['piso']) &&
                !empty($data['oficina']) &&
                !empty($data['sexo'])  &&
                !empty($data['mail'])) {
                //$data['empresa'] = ucwords($data['empresa']);
                $data['empresa'] = strtoupper(($data['empresa']));
                $data['piso'] = strtoupper(($data['piso']));
                $data['oficina'] = strtoupper(($data['oficina']));
                $data['sexo'] = strtoupper(($data['sexo']));
                $data['mail'] = strtoupper(($data['mail']));
            }
            return parent::beforeSave(); 
        }

}
?>